package com.tbit.main.dao.stat;

import com.tbit.main.pojo.MoveDaySta;

import java.util.List;
import java.util.Map;

/**
 * @author LMY
 * @create 2021-01-07 10:53
 * 挪车日统计
 */
public interface MoveDayStaDao {

    /**
     * 插入
     *
     * @param moveDaySta
     */
    void insert(MoveDaySta moveDaySta);

    /**
     * 插入数据
     *
     * @param params
     */
    void insertByMap(Map<String, Object> params);

    /**
     * 插入数据
     *
     * @param params
     */
    void insertRegionIdByMap(Map<String, Object> params);

    /**
     * 批量插入
     *
     * @param list
     */
    void insertBatch(List<Map<String, Object>> list);

    /**
     * 批量插入
     *
     * @param list
     */
    void insertBatchRegionId(List<Map<String, Object>> list);

    /**
     * 根据运营区域id和时间查询
     *
     * @param map
     * @return
     */
    List<MoveDaySta> getByAccountIdDateDay(Map<String, Object> map);

    /**
     * 根据分区id和时间查询
     *
     * @param map
     * @return
     */
    List<MoveDaySta> getByRegionIdDateDay(Map<String, Object> map);

    /**
     * 根据运营区域和时间查询 周统计
     *
     * @param map
     * @return
     */
    List<MoveDaySta> getByAccountIdDateWeek(Map<String, Object> map);

    /**
     * 根据运营区域和时间查询 周统计
     *
     * @param map
     * @return
     */
    List<MoveDaySta> getByRegionIdDateWeek(Map<String, Object> map);

    /**
     * 根据运营区域和时间查询 月统计
     *
     * @param map
     * @return
     */
    List<MoveDaySta> getByAccountIdDateMonth(Map<String, Object> map);

    /**
     * 根据运营区域和时间查询 月统计
     *
     * @param map
     * @return
     */
    List<MoveDaySta> getByRegionIdDateMonth(Map<String, Object> map);

    /**
     * 更新时间
     */
    void update(Integer accountId);

    /**
     * 更新时间
     */
    void updateRegionId(Integer regionId);

    /**
     * 查询运营区域内总数
     *
     * @param map
     * @return
     */
    Integer getByAccountId(Map<String, Object> map);

    /**
     * 查询分区内总数
     *
     * @param map
     * @return
     */
    Integer getByRegionId(Map<String, Object> map);
}
